package com.moli.iov.admin.model.vo.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.moli.iov.util.DateUtil;
import java.io.Serializable;
import java.text.ParseException;
import java.util.Date;
import javax.validation.constraints.NotNull;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * <p>
 * 未授权登录
 * </p>
 *
 * @author zql
 * @since 2020/2/20 16:39
 */
@Slf4j
@Data
public class VehicleUnauthReqVo extends BaseVo implements Serializable {

  private static final long serialVersionUID = 711453524720044638L;

  /**
   *
   */
  @NotNull(message = "未授权记录id不能为空", groups = {Process.class})
  private Long unauthId;

  /**
   * 车架号
   */
  private String vin;

  /**
   * 处理状态态：1、未处理 2、已处理
   */
  private Integer status;

  /**
   * 处理结果:1、 同意登入 2、拒绝登入
   */
  @NotNull(message = "处理结果不能为空", groups = {Process.class})
  private Integer result;

  /**
   * 登入授权: 1、允许 2、不允许
   */
  @NotNull(message = "登入授权调整不能为空", groups = {Process.class})
  private int loginAuth;


  /**
   * 开始时间(登入时间)
   */
  @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
  private Date beginTime;

  /**
   * 结束时间
   */
  @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
  private Date endTime;

  public void setBeginTime(Date beginTime) {
    try {
      if(beginTime == null){
        return;
      }
      String beginStr =
          DateUtil.format(DateUtil.YEAR_DAY, beginTime) + " 00:00:00";
      this.beginTime = DateUtil.parser(DateUtil.YEAR_SECOND, beginStr);
    } catch (ParseException e) {
      log.error("开始时间 error", e);
    }
  }

  public void setEndTime(Date endTime) {
    try {
      if(endTime == null){
        return;
      }
      String endStr = DateUtil.format(DateUtil.YEAR_DAY, endTime) + " 23:59:59";
      this.endTime = DateUtil.parser(DateUtil.YEAR_SECOND, endStr);
    } catch (ParseException e) {
      log.error("结束时间 error", e);
    }
  }
  public interface Process{}
}
